package tg.game;

import tg.game.define.GameType;

/**
 * 游戏逻辑接口
 * 	  游戏逻辑是针对游戏上下文的处理的，游戏上下文是针对游戏场次信息记录解析的
 * @author NKW
 * 先实现一个彩票游戏逻辑基类：
 * 		根据json初始化
 * 		获取游戏名称
 * 		获取游戏类型
 * 		处理动作：  动作要传入  游戏上下文：包括  缓存 和  场次数据（所有的都存这个数据里面）  逻辑只是处理，要对数据处理
 * 			下注动作、开奖动作等（ 查询缓存的就不放这里了）
 *          切换游戏状态动作（全部都在这里）   
 * 
 * 		
 * 
 * 游戏逻辑处理所有的用户动作，包括下注、开奖、等游戏过程中的所有角色的交互处理
 */
public interface IGameLogic extends IJsonIni{
	public String getGameName();//获取游戏名称
	public int getGameID();//获取游戏ID：所有的id都从0开始编码，尽量少的位数,最多人玩的排在前面,一般在99以内就够了
	public GameType getGameType();//获取游戏类型
	public IGameResponse handleRequest(IGameRequest request);//处理游戏请求,真正逻辑是不同的状态自己去处理
	public void handleNotify(IGameNotify notify);//处理通知消息
}
